{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Using RDKit for cheminformatics - (1) Introduction\n",
    "\n",
    "In this lecture, we will learn basic usage of a python library for cheminformatics, RDKit. The documentation of RDKit is introduced at this link - https://www.rdkit.org/docs/.\n",
    "\n",
    "Our goal is to i) become accustomed to using RDKit and ii) performe a simple regression task - prediction of logP values using molecular fingerprint. <br>\n",
    "At first, import rdkit modules which will be used today's exercise. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from rdkit import Chem\n",
    "from rdkit.Chem import Draw\n",
    "from rdkit.Chem.Draw import IPythonConsole\n",
    "from IPython.display import Image  ## This module is used for visualizing images on the jupyter-notebook, so you do not need to import it."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can convert SMILES representation to mol format. SMILES is abbreviation of \"Simplified Molecule-Input Line-Entry System\" and it describes the chemical species by short strings. - See https://en.wikipedia.org/wiki/Simplified_molecular-input_line-entry_system\n",
    "\n",
    "We can get SMILES of famous molecules, such as Aspirin from the Wikipedia - https://en.wikipedia.org/wiki/Aspirin. <br>\n",
    "Or we can obtain enormous amount of data from chemical databases, such as ZINC, ChEMBL and others. \n",
    "ZINC - http://zinc.docking.org/\n",
    "ChEMBL - https://www.ebi.ac.uk/chembl/\n",
    "\n",
    "Let's look further about Aspirin by using RDKit."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAFdUlEQVR4nO3d3XKbSBCAUUjt+78y\nuWBNMJIQ0PzMTJ9Te2G7IptsWV96GIT6YRg6AI768/QBANRNRgFCZBQgREYBQmQUIERGAUJkFCBE\nRgFCZBQgREYBQmQUIERGAUJkFCBERgFCZBQgREYBQmSU9vV93/f900dBs/57+gDgWn3fj2/xMJXU\nOz5wrt6vFA2bGrr44viBX35OIaO0aWzl+q+3nnIKGaVBb4fQ9T8/fuDpwAEySmv2NnTx2PEDzwu2\nk1GaEmno4vuMH3iC8JWM0o6Vhm45VbrywGOPJQkZpRFb5tBIE/WUT2SUFty5p6SnLMgodTu8Wp8/\n/Nh3CP5omiGjVOysDaXuaE9PPADq5cWg1OrchE3fypqdvfxbSpVuGAM39tRAimmU+txTLvMpG8ko\nlbl/+lv0VExZkFFq8uwKWkB5y22bqcN46+UCQzYMg3tCJ2capQJlBhRGplFKp6EUTkYpmoZSPhml\nXBpKFWQUouwyJSejVEawKI2MUi5THlWQUYAQGaUyZY6oZR4V95BRgBCvYspnPjQVfznROOW57ImS\nyWgyff8rnYtPgf0s6uEcTo+mJaPUR7AoiowChMgopTN7UjgZBQixU5/MMNR1wVNdXJ6Vk4zm08ST\nXLAoh0U9QIiMUgG7TJRMRuG417grfkIyCgc5OctIRvlR2wz17NynoUxkNCvRDFhpqLwm5IIn2GFM\nuYYyJ6P8GK/MV4HP1iupoWnJaFaiudP6Qr77PKLSPOdGqdhtJ0y/ngzV0MxklGo8tctkQ4l1Mgpr\nNJSvZJS6XRoyDWULGWVmcRu93DSUjWQ0sQqjWc6e0g3HQC1c8MQvfdclL8TK1UsubOItGU2t0mhe\nNw8aQjlARvml8LvKT8c2X9qfdbQayjEymlrh0VyYH+r8mKekRv4iGsphMkoF1k9KTl8/3FMNJUJG\nKd32kL32tNuWVA0lQkZZKmqlf+xITlnyl/M/gcLJaHZFRXPhlAM7sOR3YRO7yCiFOj3uG5f8xf6j\nQrFklCJd2bKVJb+GcoCM8saTK/2xa3f96MWIqqEc4DX1lPRuceMN+Z9omYBymIzyS9/3j81l3tSE\nOlnU88/rSy1vium9C/lPSr5ogZLJKF33UpBbzxgaQqmcjNJ1n3eoLx9ONZT6yWh2W+bN+XA6zavn\n/HgNpX7OBKV2/FTgtLP/9eHzawBq+GVzepS9TKN5hXoxPXC9p4s1uyU8LZLRpE6buTb2FNoloxld\nsm5d9FRMSUNG07n83J+AkoxXMeVi/+Srgl4aSyVMo1m49QZcREZTeGwIHYbqLniCvWS0fQ8v5KWT\n1jk32jgnQw9wepRdZLRlGgo3kNFmaSjcQ0bbpKFwG1tMrXFhE9zMNNqUcQjV0Di7TGwno+2wkIdH\nyGgjNBSeIqON0FB4iowChMgovGeXiY1kFCBERgFCZBS+6Pve6p4VrpKBNdOVZPOSetYw58WgsMk8\nnZLKnIzCboukDj9ffehweJhFPXy077Vh04jqOZWMaRTeOHKjrOkPjz0V0zRkFJYW20q7V2zjnzec\npmFRD7+8LuSjG0qL4dRbpTZHRuF/W2bPE5I6f9TiU+pkUQ9dt3k3yR49r2QUuu7Q3VqH13W6nqYk\no6QXX1nraW4ySm7nnp3U05RklMSu2+FxDWkmdupJ6cG6ueCpOaZR8nn2MiPpbI77jZKMSzU5m4yS\niYZyARklEw3lAjJKVRZv5jH/tO///Qc3ssVEE7xWneeYRgFCTKPUxpqdwsgotVks3uFpFvUAITIK\nEGJRTxOGwWvVeYpbkwCEWNQDhMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChA\niIwChMgoQMhfMtsfCaCdotAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x827f170>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "smi = 'O=C(C)Oc1ccccc1C(=O)O'\n",
    "m = Chem.MolFromSmiles(smi)\n",
    "m"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "A number of heavy atoms (non-hydrogen atoms) in the molecule is"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "13"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m.GetNumAtoms()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you want to represent hydrogen atoms explicitly, using a keyword 'AddHs'."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAFZklEQVR4nO3d23KbSBRAUTo1f6zf\nEN/MPBBjggE1nAYMvdaTKhldPEW2T3MRqeu6BoC9/lz9AQDuTUYBQmQUIERGAUJkFCBERgFCZBQg\nREYBQmQUIERGAUJkFCBERgFCZBQgREapS9u2s49hNxkFCPnv6g8AZzOEUpaMUp3X69U/0FOKsKgH\nCJFRgJDkXkwAEaZRgBAZBQiRUWrkGD0FyShAiIwChMgoQIiMAoTIKECIjAKEyChAiItBqVFKtnyK\nMY0ChMgoQIiMcjE3R+LuZJTq2DFKWTLK9dovV3+QkkzZ9XAvJq7n5kjcmozCUfxWqISMUpGUUtM0\nXdcNDw59O1N2Jewb5WJDayaPy6YnpdQfWerT2T/o/7Dgu1An0yi/1Ov16ks6busOK4Nn/4cO3BNk\nA+K3a9t2X0mXAvqzm6XW+EW6z+3IKEUNa+Si29WOPK3PmLPdjIylAlozGaWclL7rOX5cSOZYmj9a\nFhlLBRQZpZyDM9p8ytyOCC6NpZmvs3uHA0/iEBN3snRQaPfOzdkXzDn0dM4pU9yCjHI/4xM/i+Rs\n9nWWXlxAmbCop6hjDjEtv1vhDXi9mwLKLNMoRd08MbvX+NTMVUw8RMHrkVzgxCYyCjOGq0Wv/iDc\ngIxSzjg6jwiQVTw5ZBQgREYBQmS0Ru5vAQXJKECI80YrZQiFUmS0Uu5vAaVY1FNMWnh81NuNLity\niREXklH4TKZZYeOgmJPHwzPfTkZZYRoFCJFRyrCnkmrJKA7WQ4iM8n1HeGAHGQUIkVGaptxAetUX\ndB6xK9aXjZJJRvkrXtL+yNID6tN/9b2jZGRyMShRkxu9DXcuag772uPj7jHnpnXs4Fcu/2jbdrjc\n/qOP0TmiSgVvUp//IoZTVtg4+EdmL7aVK6Uidww9rnQrz3V3ZT6SUabWe7SzJv0O090bW0op4013\nfLaVpyzds94/GSZsE0wtlaLAOLZjLN3e38zPuTWgW1+fesgoMyYlLRmO/CzGBticdfqmv5roz2rI\n34/Mg8koM4YGHTV5DWPpcHbU+C2CewC+X2bDqnzfTyqmNDLKkjOWruM1fqHDUHNv8mEjj/+kYlo5\nGWVqOH/+8G3jlIw2y6Es+6tCTKslo3ybZOXwo9JnZfTrHb5/ukNn7fG5t5vOw+WmXMVE09Rx9PmE\ngFInGaVp23Y2K/055wcWp+vmDzEd7ISG+uLBqsho1a7fnffQqdD9q6sio5XKDOjhAyncny/Ke6zx\nHDR53B/3yBxC3+93+Q8HDyKj1ckP6PDfW5luMv7f6zB9DSzqn0z+4ASm0Sd7fYm/jiLDEhkli5LC\nEhkFCHEuCxs84NJG529RnE2KimgoR7CoBwiRUTZYOqUfaiajACFOv2cbQyhMyCjb+O4imLCoBwiR\nUYAQp9FRC7cP4SCmUZ4vpeTEe47jEBNPZgLlBH5F80zn3JseGot6nimlrutWGpqGO5JCmGmUZ+n7\nmDGEGkspRUZ5iuyATp/lnwAxDjFxfwsB7Qv6YVDousWnQx7TKE+0o4zGUvYyjXI3w9Ghsut0Yyl7\nySi3Mk7kz1wGO9g/cfIW47+COTLKU5Ralc9m2pKfZc4b5SlkjovIKECIRT23MhwIaoyf/BZOeIJl\nkk0G0ygsU08y2DcKECKjACEyCqt8pR6fyChAiIwChMgoQIiMAoTIKKxp3++rPwK/nYwChMgoQIiM\nAoTIKECIb3gCCDGNAoTIKMxo23b2MfwkowAhvrYZ5hlCySSjMO/1evUP9JR1FvUAITIKEOK8UYAQ\n0yhAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChMgoQIiMAoTIKECIjAKEyChAiIwChPwPTsQC+0Br\nrfgAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x827f6c0>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m2 = Chem.AllChem.AddHs(m)\n",
    "m2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "21"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m2.GetNumAtoms()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In order to represent molecules by graph structure, we have to know adjacency and atomic features information. <br>\n",
    "Thanks to the already implemented functions in rdkit, we can obtain that information by just typing relevant keywords. <br>\n",
    "We will use the graph structure as inputs for graph neural networks (GNNs) later."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
       "       [1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
       "       [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
       "       [0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],\n",
       "       [0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0],\n",
       "       [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],\n",
       "       [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n",
       "       [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0],\n",
       "       [0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0],\n",
       "       [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0],\n",
       "       [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1],\n",
       "       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],\n",
       "       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]], dtype=int32)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "adj = Chem.rdmolops.GetAdjacencyMatrix(m)\n",
    "adj ## Adjacency matrix : a(i,j) == 1 if atom pair (i,j) is connected and 0 else."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 th atom is  O , total number of hydrogens is 0 , and aromaticity indicator is False\n",
      "1 th atom is  C , total number of hydrogens is 0 , and aromaticity indicator is False\n",
      "2 th atom is  C , total number of hydrogens is 3 , and aromaticity indicator is False\n",
      "3 th atom is  O , total number of hydrogens is 0 , and aromaticity indicator is False\n",
      "4 th atom is  C , total number of hydrogens is 0 , and aromaticity indicator is True\n",
      "5 th atom is  C , total number of hydrogens is 1 , and aromaticity indicator is True\n",
      "6 th atom is  C , total number of hydrogens is 1 , and aromaticity indicator is True\n",
      "7 th atom is  C , total number of hydrogens is 1 , and aromaticity indicator is True\n",
      "8 th atom is  C , total number of hydrogens is 1 , and aromaticity indicator is True\n",
      "9 th atom is  C , total number of hydrogens is 0 , and aromaticity indicator is True\n",
      "10 th atom is  C , total number of hydrogens is 0 , and aromaticity indicator is False\n",
      "11 th atom is  O , total number of hydrogens is 0 , and aromaticity indicator is False\n",
      "12 th atom is  O , total number of hydrogens is 1 , and aromaticity indicator is False\n"
     ]
    }
   ],
   "source": [
    "for atom in m.GetAtoms():\n",
    "    print (atom.GetIdx(), \"th atom is \", atom.GetSymbol(), \", total number of hydrogens is\", atom.GetTotalNumHs(), \n",
    "           \", and aromaticity indicator is\", atom.GetIsAromatic())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "More atomic features can be obtained by using RDKit, and the keywords are listed in this link - http://www.rdkit.org/Python_Docs/rdkit.Chem.rdchem.Atom-class.html. We will make feature vectors (matrix) as inputs for GNNs.\n",
    "\n",
    "Also we can get several molecular properties, such as molecular weight, logP - partition coefficient, TPSA - polarity, QED - quantitative estimation of druglikeness, and the others."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(180.042258736, 1.3101, 63.60000000000001, 0.5501217966938848)"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from rdkit.Chem.Descriptors import ExactMolWt\n",
    "from rdkit.Chem.Crippen import MolLogP\n",
    "from rdkit.Chem.rdMolDescriptors import CalcTPSA\n",
    "from rdkit.Chem.QED import qed\n",
    "\n",
    "molWt = ExactMolWt(m)\n",
    "logP = MolLogP(m)\n",
    "TPSA = CalcTPSA(m)\n",
    "_qed = qed(m)\n",
    "\n",
    "molWt, logP, TPSA, _qed"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And the last, we will obtain molecular fingerprint (extended connectivity fingerprint; ECFP). <br>\n",
    "The molecular fingerprint represents substructures of a molecule as a vector consisted of binary numbers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Image('morgan_fp1.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And the fingerprint is molecular structure descriptor, and we can use it as inputs to revealing the relationship between molecular structure and properties, so-called quantitative structure-activity relationships (QSAR)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nHzOzD4bksTOzV83sk2b23pjrujDlXdTb6Q+iy8JjvL3mPv+s4j63XYea9X51p/Wocx+V67fd/X1H\nzO3eGz2HcD5a9+f3s457XZ+Yx4vG+Q/M7IO7Xf9o21bc5PmK7fbBitu77fp1mdlHo3WgyAVUvGnQ\nZgEkn0ylxxmSvvwiofINB30RAADdpHJq3u3UfmHOlClAe9+fxn2ZuZ2e6e+BtvnDmvPXGBIc0Gtd\nIfTtulObfbuaWnwK72kmai6eDd8DdJvasRmVxMHY3bX9lhu4Xu3B1r26jd8r6Q/C6RfC/6K3yx94\n8XxtkSkUWP5MPn18TdKHJD0dbv+8mT2yzWvAI/K9nSTpN8NtH5H0B6FI8ny4zy+E5ccqlh/b5v7+\nLFznWrjNFySdrrcedV6jTodxOB3G4DfDotNhHba7v7eb2UfDur+9Weu4l/UJ26byNh8K4/hR+//Z\nu9fYxtL8zu+/RyWxyOpLqceXnd11XOzqhV+6NOjZ2TjYpFjATODANqQOUu4krrhY2N1uYF+4WBvD\n7iywKBaSINOJnVbljTONhYuaagcu9wBNBTBibBooCkg8ztqNkRYJ4nXWPdQLL8Zz6RK7LqSoy5MX\nz/NIR6cObxJJ8fL9AAJF8lyfc0iec/7n//yN+bMelz86z+jzjyU9staGdQnLlCS8/j5BLsCL1OcK\nPzQlWmXqLyRE6yKUJ/iAYyrs71vtd5HxtbO7p53dwdRvajR21Wg8n9Xz2t9ZOPiL+5d/+qf6l3/6\npzJGMkY6M2N0ZsZo9ozV7Jn+ZFX9xm/8mn7jN37tudd/6ZeW9Eu/NNjd/nd/95v63d/9pjJn08qc\nPaxJtvLB72jlg9/Rt/9kXd/+k8Okvnpj9+Bvd3dfu7v7hzW3rHF/Md3W7trdsdrdSW7Tp8929PTZ\nTs/T7Gkf7bJuXERXGY+Yqt+4ao8XjI7Up+SCOXBqeu2GivoeOK63dXjB6F1r7fs0CYZ9rOLrdr3i\ns9D7KZ/w2vKYtlNZz/dCw/WI8dl+3d5gHXVZR2vqZieoSX7T/+a8Zq39mrX2y5K+LBeUeV2RLGMf\nbAqBqq9Za3/ZWvuutfZtSV/z43yjRZbSNyS9ba39srX2a5Je8795r8gFuCQpLMPXIstwUbFMZx/M\n+Ub47Ywt+9thfr1kdPnpfWit/UJkGV6TFH6Lv94iY+mib8N3JH3Bj9ePZexpefy2+d8j2+Ztv21e\n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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Image('morgan_fp2.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "* Image source : http://kehang.github.io/basic_project/2017/04/18/machine-learning-in-molecular-property-prediction/\n",
    "\n",
    "A keyword to obtain the molecular fingerprint is shown below, and the number 2 denotes the number of iterations in Morgan algorithm. (See references for more details about the algorithm.)\n",
    "\n",
    "References of molecular fingerprint : <br>\n",
    "[1] https://pubs.acs.org/doi/10.1021/ci100050t <br>\n",
    "[2] https://docs.chemaxon.com/display/docs/Extended+Connectivity+Fingerprint+ECFP"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "fp_aspirin = Chem.AllChem.GetMorganFingerprint(m,2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can compute the similarity score between arbitrary two molecules with the molecular fingerprint. <br>\n",
    "Let's compare the structural similarity between Aspirin and Ibuprofen which are well-known NSAIDs. <br>\n",
    "https://en.wikipedia.org/wiki/Ibuprofen"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x83eda80>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m_ibuprofen = Chem.MolFromSmiles('CC(C)Cc1ccc(cc1)[C@@H](C)C(=O)O')\n",
    "m_ibuprofen"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.22950819672131148"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fp_ibuprofen = Chem.AllChem.GetMorganFingerprint(m_ibuprofen, 2)\n",
    "\n",
    "from rdkit import DataStructs\n",
    "similarity = DataStructs.TanimotoSimilarity(fp_aspirin, fp_ibuprofen)\n",
    "similarity"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In summary, we practice RDKit which is the most popular python library for cheminformatics.<br>\n",
    "We do not need to implement functions to get atomic and molecular features by our hand, just using modules as introduced.<br>\n",
    "We will do regression task to predict partition coefficient (logP) of molecules using the molecular fingerprint in next lecture.\n",
    "\n",
    "Also, you can learn more practices from lectures on Greg Landrum's CCK-5.1 Workshop (see below link).<br>\n",
    "https://compchemkitchen.org/2016/11/01/jupyter-rdkit-notebooks-from-greg-landrums-cck-5-1-workshop/ <br>\n",
    "Enjoy the tutorials, and I appreciate to the hardwork of this tutorial authors."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
